命令行选项


在启动 NW.js 时,您可以使用以下命令行选项来更改一些默认行为。

关于命令行参数

当用户使用您的应用在命令行下打开文件时,例如 your-app file.txt file2.txtfile.txt file2.txt 将被记录,您可以使用 nw.App.argv 获取命令行参数数组。如果您的应用已经有一个正在运行的实例,第二个实例的完整命令行将通过向 App 对象发送 open 事件传递给现有实例。

注意

目前存在一个限制:如果命令行参数是磁盘上 .js 文件的文件名,NW 将直接将其作为上游 Node.js 运行。这是为了支持 child_process.fork() API。

--url

使用默认应用程序加载 URL:--url=https://nw.js.cn

--mixed-context

混合上下文模式 下运行 NW.js,而不是单独上下文模式。

--nwapp

指定应用程序路径的另一种方法。此参数在 使用 ChromeDriver 测试 时特别有用。

--user-data-dir

指定应用程序的数据目录,其中包含存储的数据、缓存和崩溃转储等。默认情况下,数据目录位于以下目录中,具体取决于您的平台

  • Windows:%LOCALAPPDATA%/<name-in-manifest>/
  • Mac:~/Library/Application Support/<name-in-manifest>/
  • Linux:~/.config/<name-in-manifest>

其中 <name-in-manifest>清单中的 name 字段

--disable-devtools

禁用用户在 SDK 构建中访问开发者工具功能。

--enable-node-worker

在 Web Workers 中启用 Node.js 集成。这将帮助您使用新线程卸载 CPU 密集型任务,同时使用 交换大量数据 与 DOM 有效地使用 结构化克隆 算法。

请注意,Node.js 的二进制模块需要是线程安全的才能以这种方式使用。我们对 Node.js 内核进行了修改,以确保内核 API 是线程安全的,但我们不能保证第三方二进制模块也是线程安全的。纯 JS 模块是线程安全的,只要它们仅依赖于线程安全的模块。并且当该功能未启用时,不应该有任何副作用。

--disable-raf-throttling

当使用它时,requestAnimationFrame() 回调将在窗口最小化或隐藏时继续触发。这对游戏开发者很有用。当不使用该参数时,它的行为与 Chrome 浏览器相同,并且没有副作用。

默认情况下,磁盘上的 cookie 存储在 Chromium 中是加密的。使用此开关禁用加密以进行测试目的(例如,在不同系统之间共享 cookie 存储)。

--disable-crash-handler=true

禁用单进程模式的崩溃处理程序进程。注意:您应该明确将其设置为“true”。当一起使用它和 --single-process 时,您的应用程序将只有一个 NW 进程。使用此开关将禁用崩溃转储功能。此开关必须放在命令行中(而不是 package.json 中)才能生效。

--enable-gcm

启用 chrome.gcm API。

--enable-transparent-visuals

--disable-transparency

--disable-gpu

--force-cpu-draw

这些选项与透明窗口功能相关。有关详细信息,请参阅 透明窗口

其他 Chromium 选项

您也可以使用 https://github.com/nwjs/chromium.src/blob/nw18/chrome/common/chrome_switches.cchttps://github.com/nwjs/chromium.src/blob/nw18/content/public/common/content_switches.cc 中列出的 Chromium 选项。另请参阅 http://peter.sh/experiments/chromium-command-line-switches/

这些选项可以放入 清单中的 chromium-args 中,以便每次运行 NW.js 时都使用它们。

环境变量

NW_PRE_ARGS 的值会附加到清单文件中 chromium-args 的值之前。